With the proliferation of computing and networking technologies, web services are increasingly replacing locally installed applications providing a wide variety of services through generic client applications such as browsers. A range of web services such as collaborative services provide content to be rendered on client applications. Commonly, at least a portion of the content is secure content requiring authentication of the user.
In conventional web services, authentication is performed prior to transmittal of content—secure or non-secure—to the client application. Authentication may include several challenges and take a few hundred milliseconds, during which the available bandwidth is underutilized. Furthermore, rendering of content is delayed potentially impacting user experience.
In a complex web application, load time performance is an important metric. The goal is to make pages in the application load quickly. This task is complicated in that the load time of a page is not just dependent on the page itself, but also on files that the page depends on. Dependent files may include data like style sheets, images, script files, data files, etc. Decreasing the size of these files is an important approach to improve load time, but that alone is often not enough. A further concern in web application performance is the impact of authentication. As mentioned above, authentication often involves significant amounts of logic and database access and can thus slow down operations in the application.